home *** CD-ROM | disk | FTP | other *** search
- REM/Gate40.100/Honohan/11-Aug-90
- REM modified for PBASIC by BJ Gleason
-
- NUMFMT="% g ":SSIZE=80
- CLS
- P$="GATE! Global Air Time Estimator "
- FOR K=1TO 32:PRINT MID$(P$,K,1);
- FOR D=1TO 5:NEXT:NEXT:PRINT
- Z$="+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+"
- FOR K=1TO 31:PRINT MID$(Z$,K,1);
- FOR D=1TO 5:NEXT:NEXT:PRINT
- rem P=3.14159265358979
- J=Pi/180:Q=180/Pi:E=24880
- I=43:DIM X$(I),n$(i)
- FOR K=1TO I
- READ X$(K),n$(K):PRINT LEFT$(X$(K),3)+" ";
- NEXT
- 114PRINT:A$="1st":B$="2nd"
- PRINT"<c>ITY ";
- PRINT"<d>EGREES ";
- PRINT"<n>UMERIC ";
- PRINT"<q>UIT ?";
- 1 k$=inkey$:if k$="" then goto 1 : rem INPUT K$
- if asc(k$)=27 then if isrun then run "menu" else end
- IF K$="c"THEN GOSUB 200:if a$=b$ then 114 else GOTO 130
- IF K$="d"THEN GOSUB 182:GOTO 130
- IF K$="q"THEN if isrun then run "menu" else end
- if k$<>"n"then 114
- CLS
- PRINT"nUMERIC"
- PRINT
- INPUT">1st Lat";W
- INPUT"> Lon";X:XX=X
- INPUT">2nd Lat";Y
- INPUT"> Lon";Z:ZZ=Z
- 130A=SIN(W*J)*SIN(Y*J)
- A=A+COS(W*J)*COS(Y*J)*COS((Z-X)*J)
- IF(-A*A+1)<=0THEN d=180 else D=(-ATN(A/SQR(-A*A+1))+(Pi/2))*Q
- N=D*(10800/Pi)*J:M=D*(.5*(E/Pi))*J
- B=SIN(Y*J)-SIN(W*J)*COS(D*J)
- IF(SIN(D*J)*COS(W*J))=0THEN C=0:GOTO 141
- B=B/(SIN(D*J)*COS(W*J))
- IF(-B*B+1)<=0THEN C=0:GOTO 141
- C=(-ATN(B/SQR(-B*B+1))+(Pi/2))*Q
- IF SIN((Z-X)*J)>=0THEN C=360-C
- 141C$="^":A=.603602:B=.001821
- IF C>000THEN C$="n"
- IF C>045THEN C$="e"
- IF C>135THEN C$="s"
- IF C>225THEN C$="w"
- IF C>315THEN C$="n"
- IF C$="e"THEN A=.625789:B=.001758
- IF C$="s"THEN A=.668288:B=.001757
- IF C$="w"THEN A=.598434:B=.001955
- IF M<0150THEN A=.324867:B=.003736
- T=A+B*M:S=M/T
- O=INT((XX+7.5)/15)-INT((ZZ+7.5)/15)
- DA=1:LV=9:AR=LV+T+O
- 154IF AR>24THEN AR=AR-24:DA=DA+1:GOTO 154
- 155IF AR<00THEN AR=AR+24:DA=DA-1:GOTO 155
- HR=INT(AR):MN=INT((AR-HR)*60+.5)
- W$="montuewedthufrisatsun"
- FOR WD=1TO 7
- IF WD=DA THEN D$=MID$(W$,WD*3-2,3)
- NEXT
- L$=MID$(STR$(HR),2)
- R$=MID$(STR$(MN),2)
- IF LEN(L$)<2THEN L$="0"+L$
- IF LEN(R$)<2THEN R$="0"+R$
- T$=L$+":"+R$
- W=INT(W*10+.5)/10
- X=INT(X*10+.5)/10
- Y=INT(Y*10+.5)/10
- Z=INT(Z*10+.5)/10
- T=INT(T*10+.5)/10
- N=INT(N+.5)
- M=INT(M+.5)
- C=INT(C+.5)
- S=INT(S+.5)
- CLS
- PRINT BJA$;" to ";BJB$
- PRINT A$;W;X,b$;Y;Z
- PRINT" ";N;"Nm";M;"Sm"
- PRINT" ";C;C$;" @";O;"TZs"
- PRINT" ";T;"Hrs @";S;"Mph"
- PRINT" LV mon 09:00 AR ";D$;" ";T$
- GOTO 114
- 182CLS
- PRINT"dEGREES @ DDDmmSSx"
- PRINT
- INPUT">1st Lat";X$:GOSUB 190:W=V
- INPUT"> Lon";X$:GOSUB 190:X=V:XX=X
- INPUT">2nd Lat";X$:GOSUB 190:Y=V
- INPUT"> Lon";X$:GOSUB 190:Z=V:ZZ=Z
- RETURN
- 190IF LEN(X$)<8THEN X$="0"+X$:GOTO 190
- V$=LEFT$(X$,LEN(X$)-5)
- V=VAL(V$)
- V$=MID$(X$,LEN(X$)-4,2)
- V=V+VAL(V$)/60
- V$=MID$(X$,LEN(X$)-2,2)
- V=V+VAL(V$)/3600
- IF RIGHT$(X$,1)="s"THEN V=-V
- IF RIGHT$(X$,1)="e"THEN V=-V
- RETURN
- 200X$="***"
- CLS
- FOR K=1TO I
- PRINT LEFT$(X$(K),3)+" ";
- NEXT:PRINT
- INPUT">1st cITY";X$
- GOSUB 225:GOSUB 214
- BJA$=BJC$
- A$=X$:W=L:X=R:XX=X
- IF MID$(X$(K),4,1)="-"THEN XX=X-15
- INPUT">2nd cITY";X$
- GOSUB 225:GOSUB 214
- BJB$=BJC$
- B$=X$:Y=L:Z=R:ZZ=Z
- IF MID$(X$(K),4,1)="-"THEN ZZ=Z-15
- RETURN
- 214L$=MID$(X$(K),5,2)
- BJC$=N$(k)
- L=VAL(L$)
- L$=MID$(X$(K),7,2)
- L=L+VAL(L$)/60
- IF MID$(X$(K),9,1)="s"THEN L=-L
- R$=MID$(X$(K),10,3)
- R=VAL(R$)
- R$=MID$(X$(K),13,2)
- R=R+VAL(R$)/60
- IF MID$(X$(K),15,1)="e"THEN R=-R
- RETURN
- 225FOR K=1TO I
- IF X$=LEFT$(X$(K),3)THEN RETURN
- NEXT
- X$="***":K=1:RETURN
- REM
- REM you can add your own airport here
- REM 3 Letter airport name, + or -
- REM followed by long/lat
- REM
- 229DATA"***+0000n00000w","Nowhere"
- 230DATA"ams-5223n00454e","Amsterdam"
- 231DATA"ath+3758n02343e","Athens"
- 232DATA"auc+3652s17446e","Auckland"
- 233DATA"bog+0434n07400w","Bogota"
- 234DATA"bue-3430s05820w","Buenos Aires"
- 235DATA"cai+3030n03115e","Cairo"
- 236DATA"chi+4152n08738w","Chicago"
- 237DATA"cop+5541n01234e","Copenhagen"
- 238DATA"fra+5007n00840e","Frankfurt"
- 239DATA"hel+6015n02503e","Hesinki"
- 240DATA"hkg+2211n11414e","Hong Kong"
- 241DATA"hnl-2120n15800w","Honolulu"
- 242DATA"hou+2945n09522w","Houston"
- 243DATA"joh+2610s02808e","Johannesburg"
- 244DATA"lax+3403n11814w","Los Angles"
- 245DATA"lim+1200s07700w","Lima"
- 246DATA"lis-3842n00910w","Lisbon"
- 247DATA"lon+5130n00005w","London"
- 248DATA"mad-4025n00345w","Madrid"
- 249DATA"mex-1924n09909w","Mexico City"
- 250DATA"mia+2547n08017w","Miami"
- 251DATA"mos+5545n03735e","Moscow"
- 2511data"npl+9000n00000e","North Pole"
- 252DATA"nyc+4045n07400w","New York City"
- 253DATA"osl+5953n01052e","Oslo"
- 254DATA"par-4852n00220e","Paris"
- 255DATA"pek+3950n11620e","Peking"
- 256DATA"pra+5005n01422e","Prague"
- 257DATA"rey-6410n02200w","Reykjavik"
- 258DATA"rio+2300s04312w","Rio"
- 259DATA"rom+4154n01230e","Rome"
- 260DATA"sfo+3747n12225w","San Fransico"
- 2601data"spl+9000s00000w","South Pole"
- 261DATA"sto+5920n01893e","Stockholm"
- 262DATA"syd+3353s15110e","Sydney"
- 263DATA"tah+1737s14927w","Thailand"
- 264DATA"tel+3203n03446e","Tel Aviv"
- 265DATA"tok+3542n13946e","Tokyo"
- 266DATA"vie+4820n01622e","Vienna"
- 267DATA"war+5213n02100e","Warsaw"
- 2671DATA"yrb+7444n09500w","Resolute Bay"
- 268DATA"zur+4722n00832e","Zurich"
- ə